/*这是路由文件 所以第一步当然是导入路由
这里说一下导入进来的的三个模块
createRouter 顾名思义 创建路由规则的
createWebHashHistory 比如http://example.com/#/home来说 使用#（hash）来模拟路径
createWebHistory 让链接更简洁http://example.com/home

简答来说 第一个函数是用来创建路由规则的 这是必须的 后两个是用来让访问链接带#还是不带


*/
import {createRouter, createWebHashHistory, createWebHistory} from 'vue-router'
import Login from '@/components/Login/Login.vue'; // 导入登录组件
import Electric from "@/components/Calculate/Calculate.vue";
// 导入你的首页组件 (假设文件名为 IndexView.vue)
import Index from '@/components/Index/Index.vue';
import BackGround from "@/components/Calculate/BackGround.vue";
import BatchEvaluationPage from '@/components/BatchCal/BatchEvaluationPage.vue';
import Evasystem from "@/components/evasystem/evasystem.vue";
import Calculate from "@/components/Calculate/Calculate.vue";
import Responsibility from "@/components/Responsibility/Responsibility.vue";
import TeamInfo from "@/components/TeamInfo/TeamInfo.vue";
import Advicesolution from "@/components/advice/advicesolution.vue";
import UserDashboard from '@/components/UserDashboard/UserDashboard.vue';

// --- 模拟登录状态检查 ---
function isLoggedIn() {
    console.log("检查登录状态...");
    return !!sessionStorage.getItem('loggedIn');
}
// --- 模拟登录状态检查结束 ---


// 创建路由器
const routes = [
    {
        path: '/login', 
        name: 'Login',
        component: Login,
    },
    {
        path: '', // path是访问路径 
        redirect: "/index", // redirect翻译为中文是"重定向"，重定向到哪里 重定向到下面喽 它都喊看它了你不看 （http://localhost:5173到http://localhost:5173/#/index）
    },
    {
        path: '/Calculate', 
        name: 'Calculate',
        component: Calculate,
        meta: { requiresAuth: true } // 添加 meta 字段，表示这个路由需要认证
    },
    {
        path: '/index', // 看我看我！！！上面的上面重定向到我这里啦啦啦啦啦啦啦啦~~~
        name: 'Index',  // 起个名字 干嘛起名？？？不知道 先跳过
        component: Index //重定向之后显示啥 当然是显示组件！ 于是使用component指出要展示的组件
    },
    {
        path: '/BackGround', 
        name: 'BackGround',
        component: BackGround 
    },

    {
        path: '/Evasystem',
        name: 'Evasystem',
        component: Evasystem
    },
    {
        path: '/Responsibility',
        name: 'Responsibility',
        component: Responsibility
    },
    {
        path: '/TeamInfo',
        name: 'TeamInfo',
        component: TeamInfo
    },
    {
        path: '/advicesolution',
        name: 'Advicesolution',
        component: Advicesolution
    },
    {
        path: '/batch-evaluate', 
        name: 'BatchEvaluate',   
        component: BatchEvaluationPage 
    },
    
    {
        path: '/:catchAll(.*)', //  :catchAll你以为是什么高端的东西？nonono 这只是一个变量名，是vue官方定义的（route.params.catchAll），既然是变量 存储啥？ 存储的东西来源于括号内的 .* 这是一个正则表达式 .表示匹配任何单个字符 *表示匹配0或者多次前面的内容 于是组合起来就是
        //:catchAll(.*) 匹配任意长度的字符串（可不就是其他没有定义的路由的path的值么），然后存储到这个变量catchAll中，用来处理没有写到的情况，全给它重定向到404
        name: 'NotFound',
        component: () => import('@/components/NotFound/NotFound.vue') 
    },
    {
        path: '/dashboard',
        name: 'UserDashboard',
        component: UserDashboard
    }
];

const router = createRouter({
    history: createWebHistory(), // 或者 createWebHashHistory()
    routes
});
export default router;


/*
觉得好麻烦哦定义路由，啊 定义参数一堆头都晕了 emmm 其实是有一定的步骤的：
1.当然是导入router 不导入你怎么使用？
2. 定义路由规则
3. 调用createRouter函数
4. 导出设定好的router

*/